package sweetvsti;

import java.awt.Dimension;
import sweetvsti.gui.MainPanel;
import javax.swing.*;
import javax.swing.event.*;

import jvst.wrapper.*;
import jvst.wrapper.gui.VSTPluginGUIRunner;

public class SweetGUI extends VSTPluginGUIAdapter {

    private static final long serialVersionUID = 7004230677068347485L;

    /**
     * jvstから呼ばれるコンストラクタ
     * @param r
     * @param plugin
     */
    public SweetGUI(VSTPluginGUIRunner r, VSTPluginAdapter plugin) {
        super(r, plugin);

        // VSTPluginAdapterは保存しておいて使いまわす
        Settings.instance().setPluginAdapter(plugin);

        this.init();
    }

    /**
     * GUI表示テスト用コンストラクタ
     */
    public SweetGUI() {
        super(new VSTPluginGUIRunner(), null);
        this.init();
    }

    /**
     * 初期化
     */
    public void init() {
        log("SweetGUI <init>");
        this.setTitle("SweetVSTi 0.1");
        this.setSize(
                Settings.instance().getWidth(),
                Settings.instance().getHeight());

        // GUI追加
        this.getContentPane().add(new MainPanel());
    }

    public void stateChanged(ChangeEvent e) {
        Object o = e.getSource();

    }

    /**
     * GUI表示テスト用メイン
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        SweetGUI gui = new SweetGUI(null, null);
        gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        gui.open();
    }
}
